<?php
if(!defined('security'))
{
	exit();
    
}

//-------------------

$files = array();
$root.= "/";
$selected =& $_POST['selected'];

for($i = 0; $i < count($selected); $i++)
{
    $files[$i]['name'] = $selected[$i];
    $files[$i]['url'] = $selected[$i];
    $files[$i]['time'] = date('h:i:s A',filectime($root . $selected[$i]));
    $files[$i]['size'] = bytesToKb(filesize($root . $selected[$i]));
    $files[$i]['date'] = date('d-m-Y',filectime($root . $selected[$i]));
}


if(isset($_POST['url_select']) && isset($_POST['delete']))
{
	if(unlink($root.$_POST['url_select']))
	{
		$notice = "Xóa dữ liệu thành công";
		$thongdiep = "Tập tin <a class='orange'>$filename</a> đã được xóa thành công";
	}
	else
	{
		$notice = "Không thể xóa tập tin";
		$thongdiep = "Lỗi xảy ra khi xóa tập tin <a class='orange'>$filename</a>";
	}
	                                	  
    redirect("index.php?act=restore");
    show_message($thongdiep,$notice); 
}
elseif(isset($_POST['restore']) && isset($_POST['url_select']))
{

	$file= $root.$_POST['url_select'];

	if($gzip)
        $ndfile = gzfile($file);
    else
        $ndfile = file($file);
    
	$type="NONE";
	$drop_a=array();
	$table_q=array();
	$data_q=array();
	$tables_q=0;
	
	if($dropdb)
    {
        $tables = mysql_query ("SHOW TABLES");
        while ($i = mysql_fetch_array($tables)) 
        {
            mysql_query("Drop table " .$i[0]);            
        }
    }
    
	foreach($ndfile as $line) {
       $line=chop($line);
        if ($type=="NONE") {
            if(strtolower(substr($line,0,6))=="insert") {
                $data_q[]=substr($line,0,strlen($line)-1);
            } elseif(strtolower(substr($line,0,6))=="create") {
                $type="TABLE";
                $table_q[$tables_q]=$line."\n";
           	  } elseif(strtolower(substr($line,0,4))=="drop") {
                $type="NONE";
	    array_push($drop_a, $line);
                  }
        } elseif ($type=="TABLE") {
            if(strtolower(substr($line,0,1))==")") {
                $type="NONE";
                $table_q[$tables_q] .= substr($line,0,strlen($line)-1)."\n";
                $tables_q++;
            } else {
                $table_q[$tables_q] .= $line."\n";
                     }
          }
}

   $sql_error=0;
    foreach($drop_a as $q_data) {
		if($q_data != "") 
        {
    		$q=mysql_query($q_data);
        		if($q == 0) $sql_error=1; 
        }
    }
    
    foreach($table_q as $q_data) {
		if($q_data != "") 
        {
    		$q=mysql_query($q_data);
        		if($q == 0) $sql_error=1; 
        }
    }
    
    foreach($data_q as $q_data) {
		if($q_data != "") 
        {
	            $q=mysql_query($q_data);
      	             if($q == 0) $sql_error=1;
		}
    }

	if(mysql_error())
	{
    	$notice = "Khôi phục dữ liệu không thành công";
    	$thongdiep =  "Có lỗi xảy ra trong quá trình khôi phục cơ sở dữ liệu với lỗi thông báo như sau: <br />";
	    $thongdiep.= "<a class='orange'>" . mysql_error() . "</a>";
	}
	else
	{
		$notice = "Khôi phục dữ liệu thành công";
    	$thongdiep =  "Quá trình khôi phục cơ sở dữ liệu diễn ra thành công";
	}
	
	redirect("index.php?act=restore");
    show_message($thongdiep,$notice); 
}
else
{
	$Template->assignByRef('files', $files);
	$Template->display('viewfiles.html');
}
?>